#ifndef _STATICSPRITE_
#define _STATICSPRITE_

#include "SFML/Graphics.hpp"
#include "Graphics/BaseSprite.hpp"

/** 
* The most basic sprite that represents a static unchanging part of a texture.
*/
class StaticSprite: public BaseSprite {

public:
    /** 
    * SFML Representation of the sprite.
    */
    sf::Sprite drawSprite;

    StaticSprite(int spriteSheet, int spriteIndex, int x, int y, int w, int h);
    StaticSprite(int spriteSheet, int spriteIndex, const sf::Texture& texture, int x, int y, int w, int h);

    virtual BaseSprite* copy();
    virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const;
    virtual sf::Sprite getSprite();
    virtual ~StaticSprite();
};

#endif